package com.igeekhome.ccs.mapper;


import com.igeekhome.ccs.biz.ICustomerServiceBiz;
import com.igeekhome.ccs.entity.CustomerService;
import com.igeekhome.ccs.entity.CustomerServiceTime;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;
import java.util.Map;

@Repository
@Mapper
public interface CustomerServiceMapper {

    //   添加一个客服
    //    客服自己修改自己的信息,已测试
    //  根据客服登录名查找数据库信息，已测试
    //   根据id获得cs对象，已测试
    CustomerService getOneById(int id);
    int save(CustomerService cs);
    int update(CustomerService cs);
    CustomerService getOneByUsername(String username);

    /**
     * 获得全部的 客服时间记录
     * @return
     */
    List<CustomerServiceTime> getWorkAll();

    /**
     * 根据组获得 客服时间记录
     * @return
     */
    List<CustomerServiceTime> queryWorkByGroup(String group);

    /**
     * 根据客服  real_name 获得客服时间记录
     * @return
     */
    List<CustomerServiceTime> queryWorkByCs(String cs);

    /**
     * 根据起止时间获得客服时间记录
     * @return
     */
    List<CustomerServiceTime> queryWorkByTime(Date start, Date end);


 //👇张煜涵----------------------------

    /**
     * 查询所有客服信息
     */
    List<CustomerService> query();


    /**
     *更改客服工作状态
     */
    void updateWorkState(@Param("csId") int csId,@Param("newWorkStatus") String newWorkStatus);

    /**
     *删除单个客服
     */
    void deleteCsById(int csId);


    /**
     *新增客服
     */
    void createNewCs(CustomerService customerService);

    //👆张煜涵-----------------------------



    //👇梁仲轩----------------------------

    /**
     *客服登录
     */
    int login(CustomerService cs);
    /**
     *客服注册
     */
    int regist(CustomerService cs);
    /**
     *在线客服数
     */
    int getOnlineNumber();
    /**
     *根据组id，昵称获取客服对象
     */
    CustomerService getCsByGroupAndNickname(int groupId, String nickName);

    List<Map<String, Object>> getCsInfolist();


    //👆梁仲轩-----------------------------
}
